extends Control

@onready var grid_container = $MarginContainer/VBoxContainer/GridContainer
@onready var 个数: Label = $"MarginContainer/VBoxContainer/HBoxContainer/个数"
@onready var button: Button = $MarginContainer/VBoxContainer/HBoxContainer2/Button

const 天赋显示场景 = preload("res://天赋选择/天赋显示.tscn")
var 天赋集:Array=[]

func 初始化天赋集():
	天赋集=GameCode.获取随机天赋()

func 显示天赋集():
	for 天赋 in grid_container.get_children():
		grid_container.remove_child(天赋)
	
	for 天赋 in 天赋集:
		var 天赋显示=天赋显示场景.instantiate()
		grid_container.add_child(天赋显示)
		天赋显示.被点击.connect(当被点击)
		天赋显示.显示天赋(天赋)

func 当被点击(index:int):
	var 天赋格子=grid_container.get_child(index)
	if 天赋格子.选中:
		GameCode.移除天赋(天赋格子.天赋)
		天赋格子.选中=false
	else:
		if GameCode.添加天赋(天赋格子.天赋):
			天赋格子.选中=true
	刷新个数()
		
func 刷新个数():
	var 可用天赋数:int=GameCode.获取可用天赋数()
	个数.text=str(可用天赋数)
	if 可用天赋数==0:
		button.disabled=false
	else:
		button.disabled=true

func 初始化(_data):
	GameCode.普通初始化()
	初始化天赋集()
	显示天赋集()
	刷新个数()
	
func 退出():
	pass

func _on_button_pressed() -> void:
	GameViewManager.切换场景("加点")

func _on_button_2_pressed() -> void:
	初始化({})
